package com.cjkj.system.mapper;

import java.util.List;
import com.cjkj.system.api.domain.THospitalUser;
import com.cjkj.system.domain.dto.HospitalUserReq;
import com.cjkj.system.domain.vo.HospitalUserVo;
import org.apache.ibatis.annotations.Param;

/**
 * 医院用户Mapper接口
 * 
 * @author cjkj
 * @date 2024-08-30
 */
public interface THospitalUserMapper
{
    /**
     * 查询医院用户
     * 
     * @param userId 医院用户主键
     * @return 医院用户
     */
    THospitalUser selectTHospitalUserByUserId(String userId);

    /**
     * 根据用户名查询用户
     * @param userName 用户名
     * @return
     */
    THospitalUser selectTHospitalUserByUserName(String userName);

    /**
     * 重置密码
     * @param userName
     * @param password
     * @return
     */
    int resetUserPwd(@Param("userName") String userName, @Param("password") String password);

    /**
     * 查询医院用户列表
     * 
     * @param req 查询条件
     * @return 医院用户集合
     */
    List<HospitalUserVo> selectTHospitalUserList(HospitalUserReq req);

    List<THospitalUser> selectUsersByDeptId(String deptId);

    /**
     * 新增医院用户
     * 
     * @param tHospitalUser 医院用户
     * @return 结果
     */
    int insertTHospitalUser(THospitalUser tHospitalUser);

    /**
     * 修改医院用户
     * 
     * @param tHospitalUser 医院用户
     * @return 结果
     */
    int updateTHospitalUser(THospitalUser tHospitalUser);

    /**
     * 删除医院用户
     * 
     * @param userId 医院用户主键
     * @return 结果
     */
    int deleteTHospitalUserByUserId(String userId);

    /**
     * 根据医院ID和部门ID查询
     * @param hospitalId 医院ID
     * @param deptId 部门ID
     * @return
     */
    List<HospitalUserVo> selectUserByDept(@Param("hospitalId") String hospitalId, @Param("deptId") String deptId);

}
